package com.ztgf.shopping.mapper.shop;

import com.baomidou.mybatisplus.mapper.BaseMapper;
import com.baomidou.mybatisplus.plugins.Page;
import com.ztgf.shopping.models.bo.shop.ShopBrandRelationBO;
import com.ztgf.shopping.models.dto.shop.ShopBrandRelationDTO;
import com.ztgf.shopping.models.dto.shop.ShopInfoDTO;
import com.ztgf.shopping.models.vo.shop.ShopBrandRelationVO;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * 店铺品牌关系表映射
 *
 * @author zhanghualang
 * @Date 2020-05-28 14:43:46
 */
public interface ShopBrandRelationMapper extends BaseMapper<ShopBrandRelationDTO> {
    /**
     * 根据分页和品牌ID，联表查询专卖店，旗舰店店铺信息
     *
     * @param page
     * @param bo
     * @return
     */
    List<ShopInfoDTO> queryFranchiseShopPageList(Page<ShopInfoDTO> page, @Param("item") ShopBrandRelationBO bo);

    /**
     * 根据分页和品牌ID，联表查询专营店铺信息
     *
     * @param page
     * @param bo
     * @return
     */
    List<ShopInfoDTO> querySpecialtyShopPageList(Page<ShopInfoDTO> page, @Param("item") ShopBrandRelationBO bo);

    /**
     * 根据分页和品牌ID，联表查询所有店铺信息
     *
     * @param
     * @param bo
     * @return
     */
    List<ShopInfoDTO> queryShopPageList(Page<ShopInfoDTO> page, @Param("item") ShopBrandRelationBO bo);

    List<ShopBrandRelationVO> queryVOList(@Param("id") Long id); //根据店铺ID查询店铺下所有品牌列表 后端使用

    /**
     * @return : java.util.List<com.ztgf.shopping.models.dto.shop.ShopInfoDTO>
     * @Author :chenyu.wang
     * @Description : PC品牌中心根据品牌ID获取关联店铺,排序方式为旗舰店-专卖店-专营店
     * @Date : 2021.03.26 15:54
     * @Param : [page, bo]
     **/
    List<ShopInfoDTO> queryShopListByBrandId(Page<ShopInfoDTO> page, @Param("item") ShopBrandRelationBO bo);
}
